<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns:ui="http://java.sun.com/jsf/facelets"
                template="./templates/templateMenu.xhtml"
                xmlns:f="http://java.sun.com/jsf/core"
                xmlns:p="http://primefaces.prime.com.tr/ui"
                xmlns:h="http://java.sun.com/jsf/html">


    <ui:define name="content">
        <script type="text/javascript"> //Reactualiza la tabla luego de eliminar pues necesatita doble actualizacion
            function confirmFunction() 
            {
                updateConfirm.jq.click();
            }
        </script>
         <p:panel header="Resgistro de Nueva Persona">
        <p:fieldset legend="Informacion de la Persona">  
            <h:panelGrid columns="7" id="frmPersonas" >


                <h:outputText value="Nombres:"/>
                <p:inputText id="txtNombres"
                             value="#{personaBean.persona.vcNombres}"
                             required="true" 
                             requiredMessage="Requerido"  
                             />
                <p:message for="txtNombres" display="icon" />
                <h:outputText/>

                <h:outputText value="Profesión u Oficio:"/>
                <p:inputText id="txtProfesion"
                             value="#{personaBean.persona.vcProfesion}"/>
                <p:message for="txtProfesion" display="icon"/>

                <h:outputText value="Apellidos:"/>
                <p:inputText id="txtApellidos"
                             value="#{personaBean.persona.vcApellidos}"
                             required="true" 
                             requiredMessage="Requerido"/>
                <p:message for="txtApellidos" display="icon"/>
                <h:outputText/>

                <h:outputText value="Lugar de Trabajo:"/>
                <p:inputText id="txtLugTrab" 
                             value="#{personaBean.lugarTrabajos.vcNombreLugTrabajo}"/>
                <p:message for="txtLugTrab" display="icon"/>

                <h:outputText value="Número de DUI:"/>
                <p:inputMask id="txtNumDui" mask="99999999-9" 
                             value="#{personaBean.persona.vcDui}"
                             required="true" 
                             requiredMessage="Requerido"

                             />
                <p:message for="txtNumDui" display="icon"/>
                <h:outputText/>

                <h:outputText value="Dirección de Trabajo:" />
                <h:inputTextarea id="txtDirTrab"
                                 rows="2"
                                 value="#{personaBean.lugarTrabajos.vcDireccion}"/>
                <p:message for="txtDirTrab" display="icon"/>

                <h:outputText value="Teléfono Casa:"/>
                <p:inputMask id="txtTelCasa" mask="9999-9999" 
                             value="#{personaBean.persona.vcTelefono}"/>
                <p:message for="txtTelCasa" display="icon"/>
                <h:outputText/>

                <h:outputText value="Teléfono Trabajo:"/>
                <p:inputMask id="txtTelTrabajo" mask="9999-9999"  
                             value="#{personaBean.lugarTrabajos.vcTelefono}"/>
                <p:message for="txtTelTrabajo" display="icon"/>

                <h:outputText value="Dirección Completa:" />
                <h:inputTextarea id="txtDireccion"
                                 rows="2"
                                 value="#{personaBean.persona.vcDireccion}"
                                 required="true" 
                                 requiredMessage="Requerido"/>
                <p:message for="txtDireccion" display="icon"/>

            </h:panelGrid>
        </p:fieldset>
        <h:panelGrid style="width: 100%">
            <p:toolbar>
                <p:toolbarGroup align="left">      
                    <p:commandButton value="Nuevo"
                                     title="Nuevo"
                                     action="#{personaBean.nuevo}"
                                     process="@this"
                                     update="frmPersonas"
                                     image="ui-icon-document"/>

                    <p:commandButton value="Guardar" 
                                     action="#{personaBean.crear}"
                                     title="Guardar" 
                                     process="@this frmPersonas" 
                                     oncomplete="confirmFunction();"
                                     update="frmPersonas dtPersonas msg"
                                     image="ui-icon-disk">                                                                                       
                    </p:commandButton> 
                </p:toolbarGroup>
            </p:toolbar>
        </h:panelGrid>




        <p:dataTable id="dtPersonas" 
                     widgetVar="dtPersonas"
                     rows="10" 
                     paginator="true" 
                     var="varPersonas" 
                     value="#{personaBean.listaPersona}"
                     scrollable="false" 
                    
                     >


            <f:facet name="header">  
                <h:panelGrid style="width: 200px;" 
                             columnClasses="alignLeft,alignLeft,alignLeft" 
                             columns="3">
                    <h:outputText value="Buscar: " />  
                    <p:inputText  id="globalFilter" 
                                  onkeyup="dtPersonas.filter()" 
                                  style="width:150px" />  
                </h:panelGrid> 
            </f:facet>  


            <p:column filterBy="#{varPersonas.vcDui}" 
                      filterStyle="display: none" 
                      headerText="Dui" 
                      style="text-align: center; width: 60px">
                <h:outputText value="#{varPersonas.vcDui}"/>
            </p:column>
            <p:column headerText="Nombre" 
                      filterBy="#{varPersonas.vcNombres}" 
                      filterStyle="display: none" 
                      style="text-align: center; width: 60px">  
              
             <h:outputText value="#{varPersonas.vcNombres} #{varPersonas.vcApellidos}"  />  
               
               
            </p:column>  

           
            <p:column style="width: 60px; text-align: center; " headerText="Acciones" >  

                <f:facet name="header"/>

                <p:commandButton  image="ui-icon-pencil" 
                                  title="Modificar Persona"
                                  update="frmPersonas"
                                  process="@this"
                                  action="#{personaBean.modificar}"
                                  >   

                    <f:setPropertyActionListener value="#{varPersonas}" target="#{personaBean.selectedpersona}" />
                </p:commandButton> 
                
                <p:commandButton  image="ui-icon-trash"
                                  title="Eliminar Persona"
                                  oncomplete="confirmation.show()"
                                  update="confirm" 
                                  process="@this">  
                    <f:setPropertyActionListener value="#{varPersonas}" target="#{personaBean.selectedpersona}" />
                </p:commandButton> 


            </p:column> 
        </p:dataTable>
</p:panel>

        <p:confirmDialog message="Desea eliminar el registro?" 
                         width="400"   
                         header="Confirm" 
                         severity="alert" 
                         widgetVar="confirmation" 
                         modal="true">  
            <p:outputPanel id="confirm">
                <h:panelGrid>
                    <h:outputText  value="Persona:  #{personaBean.selectedpersona.vcNombres} #{personaBean.selectedpersona.vcApellidos}"/>
                    <h:panelGrid columns="2">
                        <p:commandButton value="Si" 
                                         update="dtpersonas msg"
                                         action="#{personaBean.eliminar()}" 
                                         oncomplete="confirmation.hide(); confirmFunction(); dtPersonas.filter()" 
                                         process="@this">
                            <f:param name="idPersona" 
                                     value="#{personaBean.selectedpersona.idPersona}"/> 
                        </p:commandButton>
                        <p:commandButton value="No" 
                                         onclick="confirmation.hide()" 
                                         type="button" />    
                    </h:panelGrid>
                </h:panelGrid>
            </p:outputPanel>
        </p:confirmDialog>
        <p:commandButton style="visibility: hidden" 
                         widgetVar="updateConfirm"
                         oncomplete="dtPersonas.filter()" />





    </ui:define>

</ui:composition>
